In the MPEG-2 and MPEG-1 compression standards, infrequently changing picture parameter information is transmitted as a picture header included with every coded picture. The H.264/MPEG4-AVC standard divides infrequently changing picture parameter information into sequence parameter sets (SPSs) and picture parameter sets (PPSs) that may be transmitted only infrequently. Examples of infrequently changing picture parameter information include picture dimensions (i.e., picture width and height in pixels), initial picture quantization parameters (QPs) and various other coding parameters that are specified at a picture level.
The existing solution only activates picture parameter sets when the picture parameter sets are first referenced and does not provide a process for deactivating the activated picture parameter sets. The existing solution has a number of interrelated disadvantages. The existing solution prevents re-assignment of a “the active parameter set” tag to a previously encountered parameter set unless the previously encountered parameter set is re-transmitted with a new id such that a new first reference can occur. A practical scenario that illustrates the disadvantage of restricting activation of parameter sets to the first reference is the scenario of commercial insertion. Because the re-assignment of the “the active parameter set” tag to a parameter set previously tagged as “the active parameter set” is not possible, the parameter sets for a main program must be re-transmitted with a new id when returning to the main program after each commercial insertion. Because only a finite number of ids are available, a bitstream may eventually run out of unique ids that can be used to activate a parameter set through a “first” reference (i.e., after a finite number of parameter changes no more changes to the parameters would be possible in the existing solution).
Another disadvantage of the existing solution is that the lack of a process for deactivating parameter sets allows an activated sequence parameter set to remain active for an entire coded video sequence and imposes no restriction on activation of new sequence parameter sets. As a result, a new sequence parameter set can be activated and be tagged as “the active parameter set” in the middle of the coded video sequence. A coded video sequence is defined as a sequence of pictures, in decoding order, beginning with an instantaneous decoding refresh (IDR) picture and followed by zero or more non-IDR pictures. An IDR picture prevents motion compensated prediction from previous (in decoding order) pictures. Because a new sequence parameter set can be tagged as “the active parameter set” in the middle of the coded video sequence, pictures with different resolution and dimensions can be motion compensated from each other. Permitting a new sequence parameter set to be tagged as “the active parameter set” in the middle of the coded video sequence could greatly complicate the implementation of decoders compliant with the standard.
A solution that provides for activation and deactivation of infrequently changing sequence and picture parameter sets would be desirable.